package com.qf.mapper;

import com.qf.pojo.UserInfo;
import com.qf.pojo.user;

import java.util.List;
import java.util.Map;

/**
 * @author sunyamei
 * @version V1.0
 * @Project mybatis_demo
 * @Package com.qf.mapper
 * @Description:
 * @Date 2022/7/7 9:34
 * mybatis的映射文件的resultType表示查询的结果封装到什么里面
 * 1：查询到的结果单数据,映射文件中的resultType数学值的数据类型
 * 2：查询结果是一行数据
 *      2.1：将一条数据封装至pojo实体中，映射文件中的resultType属性值就是实体类权限定名（别名）***
 *             此时要求查询结果的字段名和实体类中的属性名名字和类型必须一致
 *      2.2：将一条数据封装至map中，映射文件中的resultType属性值就是map集合的类型（map）
 *          此时要求查询结果的字段名是map,key,字段值map.value
 *  3：查询结果是多行多列数据
 *      3.1：将多行多列数据封装实体类中pojo   映射文件中的resultType属性值就是实体类权限定名（别名）***
 *      3.2:将多行多列数据封装LIst<map>   映射文件中的resultType属性值是Map集合的类型（map）
 */
public interface UserMapper {


    /**
     * 查询总数据数
     * @return
     */
    public long selectTotal();

    /**
     * 通过id查询用户
     * @return
     */
    public user selectById(int id);

    /**
     * 通过姓名查询实体封装map
     * @param name
     * @return
     */
    Map selectByName(String name);

    /**
     * 查询所有
     * @return
     */
    List<user> selectAll();

    /**
     * 查询所有
     * @return
     */
    List<Map> findAll();

    /**
     * 查询所有
     * @return
     */
    List<UserInfo> findUserInfo();

}
